// subpkg/pages/publish_act/publish_act.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    activityTypes: ['会议', '培训', '聚会', '比赛'],//活动类型变量
    selectedIndex: null,
    selectedType: '',

    needsSignIn_checked:false, //签到状态变量
    needsSignOut_checked:false, //签退状态变量
    needsRegistration_checked:false, //报名状态变量
    needsFeedback_checked:true ,//评价状态变量
    
    activityTime_on: '',//起始时间变量
    activityTime_out:'',//结束时间变量
    showTimePicker_on: false, // 控制时间选择器的显示，初始化为false
    showTimePicker_out:false,
    pickerValue: new Date().getTime(), // 初始时间
    minDate: new Date().getTime(), // 设置最小日期为当前日期

    // 备选地点数组
    locations: ['西土城校区', '沙河校区'],
    // 初始显示提示文字或默认值
    selectedLocation: '',

    activityDetail: "",      // 存储活动详情输入内容

    fileList: [
        {
            url: 'https://img.yzcdn.cn/vant/leaf.jpg',
            name: '图片1',
        },
          // Uploader 根据文件后缀来判断是否为图片文件
          // 如果图片 URL 中不包含类型信息，可以添加 isImage 标记来声明
    ],//存储上传图片

    activityData:{
      name:'',
      creater: '',
      facepeople: '',
      number: 0,
      contact_people: '',
      apply_need: '',
      begin_time: '',
      end_time: '',
      location:'',
      if_begin:'',
      if_end:'',
      if_apply:'',
      if_eval:'',
      creater_id:'123435',
      activity_vary: '',
      content: '',
      attachments: []
    },//一个总的对象，用来储存全部信息，以便上传
  },

  //表单提交事件
  onFormSubmit(e){
    //获取表单数据
    const formData=e.detail.value
    //获取每一个数据
    const name = formData.name || '' // 添加默认值，防止 undefined
    const organizer=formData.organizer||''
    const targetAudience=formData.targetAudience||''
    const numParticipants=formData.numParticipants||''
    const eventperson=formData.eventperson||''
    const signupRequirements=formData.signupRequirements||''

    this.setData({
      // 基本信息
  'activityData.name': name,
  'activityData.creater': organizer,
  'activityData.facepeople': targetAudience,
  'activityData.number': numParticipants,
  'activityData.contact_people': eventperson,
  'activityData.apply_need': signupRequirements,
  'activityData.if_begin':this.data.needsSignIn_checked,
  'activityData.if_end':this.data.needsSignOut_checked,
  'activityData.if_apply':this.data.needsRegistration_checked,
  'activityData.if_eval':this.data.needsFeedback_checked,

  // 时间信息
  'activityData.begin_time': this.data.activityTime_on,
  'activityData.end_time': this.data.activityTime_out,

  // 位置信息
  'activityData.location': this.data.selectedLocation,

  // 详情信息（嵌套对象）
  'activityData.activity_vary': this.data.selectedType,
  'activityData.content': this.data.activityDetail,

  // 附件信息（数组处理）
  'activityData.attachments': [...this.data.fileList] // 使用扩展运算符创建新数组
  });
  console.log(this.data.activityData.details.content);

    // 获取完整数据
    const activityData = this.data.activityData;
    // 发起网络请求
    wx.request({
    url: 'https://your-api-domain.com/activities', // 替换为真实接口地址
    method: 'POST',
    header: {
      'Content-Type': 'application/json' // 根据后端要求调整
    },
    data: {
      ...activityData,
    },
    success: (res) => {
      if (res.statusCode === 200) {
        wx.showToast({ title: '提交成功' });
        console.log('服务器响应:', res.data);
      } else {
        // this.handleError(res.data);
        console.log("成功了")
      }
    },
    fail: (err) => {
      this.handleError(err);
    },
    complete: () => {
      wx.hideLoading();
    }
    });
  },

    // 错误处理
  handleError(error) {
    console.error('提交失败:', error);
    wx.showToast({
      title: '提交失败，请重试',
      icon: 'none'
    });
  },

  //签到开关更新事件
  onChange_IN(e) {
    // 需要手动对 checked 状态进行更新
    this.setData({ needsSignIn_checked: e.detail });
    console.log("qiandao:",this.data.needsSignIn_checked)
  },
  //签退开关更新事件
  onChange_OUT(e) {
    this.setData({ needsSignOut_checked: e.detail });
    console.log("qiantui:",this.data.needsSignOut_checked)
  },
  //报名开关更新事件
  onChange_RE(e) {
    this.setData({ needsRegistration_checked: e.detail });
    console.log("baoming:",this.data.needsRegistration_checked)
  },
  //评价开关更新事件
  onChange_FB(e) {
    this.setData({ needsFeedback_checked: e.detail });
    console.log("pingjia:",this.data.needsFeedback_checked)
  },

  // 活动时间选择框点击事件
  onTimeClick_on() {
    this.setData({
      showTimePicker_on: true, // 点击时弹出时间选择器
    });
  },
  onTimeClick_out() {
    this.setData({
      showTimePicker_out: true, // 点击时弹出时间选择器
    });
  },

  // 时间选择器确认事件
  onTimeConfirm_on(event) {
    const time= event.detail;
    const selectedTime = new Date(time);
    this.setData({
      activityTime_on: selectedTime.toLocaleString(), // 格式化为字符串显示
      showTimePicker_on: false, // 选择后关闭时间选择器
    });
  },
  onTimeConfirm_out(event) {
    const time= event.detail;
    const selectedTime = new Date(time);
    this.setData({
      activityTime_out: selectedTime.toLocaleString(), // 格式化为字符串显示
      showTimePicker_out: false, // 选择后关闭时间选择器
    });
  },

  // 时间选择器取消事件
  onCloseTimePicker_on() {
    this.setData({
      showTimePicker_on: false, // 关闭时间选择器
    });
  },
  onCloseTimePicker_out() {
    this.setData({
      showTimePicker_out: false, // 关闭时间选择器
    });
  },

  // 活动地点选择框点击事件
  onFieldClick() {
    wx.showActionSheet({
      itemList: this.data.locations,
      success: (res) => {
        // res.tapIndex 表示用户选择的选项索引
        if (typeof res.tapIndex !== 'undefined') {
          this.setData({
            selectedLocation: this.data.locations[res.tapIndex]
          });
        }
      },
    });
  },

  // 活动详情输入事件
  onActivityDetailInput(e) {
    this.setData({
      activityDetail: e.detail.value
    });
  },

  //活动类型选择事件
  onPickerChange(e) {
    const index = e.detail.value;
    this.setData({
      selectedIndex: index,
      selectedType: this.data.activityTypes[index],
    });
  },

  //读取上传图片事件
  afterRead(event) {
    const { file } = event.detail;
    // 当设置 mutiple 为 true 时, file 为数组格式，否则为对象格式
    wx.uploadFile({
      url: '', // 仅为示例，非真实的接口地址
      filePath: file.url,
      name: 'file',
      formData: { user: 'test' },
      success(res) {
        // 上传完成需要更新 fileList
        const { fileList = [] } = this.data;
        fileList.push({ ...file, url: res.data });
        this.setData({ fileList });
      },
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})